Skip to content

docs(readme): showcase IVF ANN and why HNSW was dropped (#204) - #77

Merged
eSlider merged 1 commit into
mainfrom
docs/readme-ivf-ann
Nov 11, 2026
Merged

eSlider merged 1 commit into
mainfrom
docs/readme-ivf-ann

Conversation

@eSlider

@eSlider eSlider commented Nov 11, 2026

Copy link
Copy Markdown
Owner

Что

README переписан как короткая витрина проекта + исправлено фактически неверное «native HNSW».

  • README: что это, как работает (deduction read path), архитектура, раздел Why IVF, not HNSW с причиной и цифрами, quick start, карта репозитория, ссылки.
  • Убраны внутренние ссылки (git.pro-dukt.de, git.produktor.io) — витрина живёт на GitHub.
  • docs/roadmap.md, skills/duckdb/SKILL.md: FTS + HNSW → FTS + IVF ANN.
  • Комментарии internal/brain/{doc,search,annbridge}.go, ingest_soak_test.go: наш индекс назван IVF; исторические упоминания liblbug HNSW оставлены (они объясняют причину).

Почему

liblbug 0.19 HNSW падает на росте графа (~1300 нод, #192). coder/hnsw отброшен на замерах: 34% достижимых узлов, recall@5 0.16. В проде — IVF (var/state/vector.ann + WAL), recall@5 vs скан = 1.0, p50 ≈ 470 ms (#204/#206).

Проверка

  • CC=gcc ... go vet ./... — OK
  • go test ./internal/brain/ann ./internal/brain/rank ./pkg/brainclient/... — OK
  • gitleaks detect --log-opts=19912d9..HEAD — no leaks
  • diff не содержит curasoft|edelweiss|produktor|/home/|token|password

Rewrite README as a short project showcase: what the brain is, how the
deduction read path works, and why vector search lives outside liblbug.
The old text claimed a native HNSW index; liblbug's own HNSW crashes on
grown graphs (#192) and coder/hnsw lost reachability on our corpus, so
the production index is IVF (var/state/vector.ann + WAL).

Also fix stale HNSW mentions in the roadmap, the duckdb skill and code
comments that describe our own index.
@eSlider
eSlider merged commit 604ded0 into main Nov 11, 2026
6 checks passed
@eSlider
eSlider deleted the docs/readme-ivf-ann branch November 11, 2026 12:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant